1. Field
The embodiments relate to storage enclosure management, and more particularly to virtual enclosure processor management of enclosures.
2. Description of the Related Art
Computing devices (e.g., servers, computers, etc.) contain many types of devices that need specific processors to manage devices enclosed within the computing device or part of the computing device. SCSI (small computer systems interface, American National Standard for Information Technology, Project T10/1561-D, revision 10, Nov. 26, 2003, SCSI Architecture Model-3 (SAM-3)) is a commonly used parallel I/O (input/output) mechanism for computing devices. Computing devices can be interconnected with peripherals or modules along a SCSI bus or SCSI channel. A common interconnection arrangement is a daisy chain, where the bus extends out of one module into the next peripheral. The number of modules on a SCSI channel is bound by a fixed upper limit (e.g., 8, 16, etc. including the host computer).
Although ANSI (American National Standards Institute) standards documents exist for SCSI, many variations are possible and proprietary adaptations are common. For example, a SCSI-1 bus is a 50 conductor, single ended, parallel bus; a SCSI-2 bus is an extension of SCSI-1 to 68 conductors; and SCSI-3 bus is a faster, low voltage differential version of SCSI-2.
SCSI internal devices can be, for example, a disk drive, a backup tape drive, etc. External devices can also be connected to a SCSI bus. The external SCSI devices might be, for example, a printer, a scanner, etc. In a SCSI system an internal device must provide a bus termination impedance. The internal SCSI devices are typically connected by a ribbon cable with a single connector for each device. The SCSI external devices are typically connected by a series of double ended cables. An external device having an open connector (i.e., no cable attached) may be terminated with an external terminator plug (mandatory for Plug and Play SCSI) or may be terminated internally to the device. The total length of a SCSI bus to a final termination must be less than a predetermined limit so as to ensure signal integrity along the entire bus.
One or more SCSI peripheral devices may form a single SCSI enclosure. For example, a SCSI enclosure may be a collection of storage units in the same physical housing, sharing a common power supply and cooling system (including one or more fans, temperature sensors, light emitting diodes (LEDs), drive presence detection, fan controllers, power supplies, etc.). The degree of collocation of devices within an enclosure can vary depending upon the needs of an overall computer system. For example, all peripherals in a room may be treated as an enclosure. On the other extreme, a single circuit board or IC (integrated circuit) chip may be logically partitioned into several SCSI devices and the board or chip may be treated as an enclosure. A single SCSI device by itself may be an enclosure.
Typically, an enclosure defines a common environment in which there is high correlation of environmental conditions from device to device within the enclosure. An enclosure, however, need not be so constrained, and one of ordinary skill in the art would appreciate that other considerations may warrant combining and treating as an enclosure one or more peripherals that do not share a common physical environment.
SCSI devices within a SCSI enclosure may retain their logical identity as separate devices, each individually accessible by address by the host computer. On the other hand, the enclosure itself may hide the underlying devices and present a single composite device (single address) to the host computer.
Serial attached SCSI (SAS) devices (Working Draft, American National Standard, Project T10/1601-D, revision 5, Jul. 26, 2004, Information Technology, Serial Attached SCSI-1.1, (SAS-1.1)) are another type of SCSI device. SAS interconnect technology is built upon a tree topology where each device has a unique sixty-four bit identifier.
Another type of storage device is serial ATA (SATA). SATA drives are primarily designed for cost-effective bulk storage. Since SATA connector signals are a subset of SAS signals, SATA devices are fully compatible with SAS controllers. This compatibility reduces the cost and complexity of storage designs, which increases the variety of design options.
Typically, a SCSI enclosure is associated with an enclosure processor. An enclosure processor is a processor that performs monitoring and control of the enclosure. An enclosure processor typically monitors power supplies, cooling fans, doors, temperatures, and individual device locks. An enclosure processor may also control displays and a keypad or other switches on a front panel of the enclosure. Some of the hardware used to implement enclosure devices are general purpose input/output (GPIO) devices and serial GPIO devices, such as light emitting diodes (LEDs), fan controls, etc. Other enclosure devices may reside on an inter-integrated circuit (I2C) bus. All I2C bus compatible devices incorporate an on-chip interface that allows them to communicate directly with each other via the I2C bus. A particular device can be driven by the integrated circuit itself or from an external device.
An enclosure processor is a separate physical device that can reside on the SCSI bus, similar to a peripheral device, with its own unique address. In this way, a device, such as a host adapter, can command and control an enclosure processor. To facilitate communications between a host adapter and an enclosure processor, a communications protocol may be implemented on top of the SCSI protocol (e.g., Working Draft, Project T10/14-16D, revision 17, Jan. 28, 2004, Information Technology, SCSI Primary Command-3, SPC-3). Two common protocols for use with an enclosure processor on a SCSI bus are the SAF-TE (SCSI accessible fault-tolerant enclosure, SCSI Accessed Fault-Tolerant Enclosure Interface Specification, Revision 1.00, Oct. 17, 1995, et al.) and SES (SCSI enclosure specification, American National Standard for Information Technology, Working Draft SCSI Enclosure Services-2 (SES-2), Project T10/1559-D, revision 9, Jul. 22, 2004) protocols. The physical enclosure processor manages the configuration of storage drives within the enclosure or a SCSI enclosure services (SES) processor (which is also a physical processor).